package com.softeem.work.w8;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * 学生日志的数据操作类
 */
public class DailyDao {
    //创建一个学生的集合
    ArrayList<Student> stus = new ArrayList<Student>();
    //创建一个日志的集合
    ArrayList<Daily> dailys = new ArrayList<Daily>();

    Scanner sc = new Scanner(System.in);

    //学生注册
    public void reg(){
        System.out.println("请输入学号：");
        int sid = sc.nextInt();
        System.out.println("请输入姓名：");
        String name = sc.next();
        System.out.println("请输入密码：");
        String password = sc.next();
        //创建学生对象完成集合中数据的添加
        Student stu = new Student(sid, name, password);
        //添加到集合
        stus.add(stu);
    }

    //学生登录
    public void login(){
        System.out.println("请输入学号：");
        int sid = sc.nextInt();
        for(int i = 0; i < stus.size(); i++){
            //相同说明学号是正确的
            if(stus.get(i).getSid() == sid){
                //输入密码进行对比
                System.out.println("请输入密码：");
                String password = sc.next();
                if(stus.get(i).getPassword().equals(password)){
                    System.out.println("登录成功");
                }else{
                    System.out.println("密码错误");
                }
            }else{
                System.out.println("学号错误");
            }
        }
    }

    //根据登录的账号查询该学生提交的所有日志
    public void findAll(){
        //1、获取到当前登录账号的学号
        System.out.println("请输入学号：");
        int sid = sc.nextInt();
        //2、根据学号查询有多少个日志的学号是当前登录账号相同的
        for(int i = 0; i < dailys.size(); i++){
            //比较日志集合中的数据的sid是否与输入的sid相同
            if(sid == dailys.get(i).getSid()){
                System.out.println(dailys.get(i));//相当于调用了toString的方法
            }
        }
    }

    //修改日志信息
    public void update(){
        System.out.println("请输入要修改的日志id：");
        int did = sc.nextInt();
        //使用循环判断当前你要修改的日志是否存在
        for(int i = 0; i < dailys.size(); i++){
            if(did == dailys.get(i).getDid()){
                System.out.println("请输入要修改的内容：");
                String content = sc.next();
                System.out.println("请输入要修改的掌握程度：");
                String level = sc.next();
                System.out.println("请输入要修改的问题：");
                String question = sc.next();
                dailys.get(i).setContent(content);
                dailys.get(i).setLevel(level);
                dailys.get(i).setQuestion(question);
            }
        }
    }

    //删除日志信息
    public void delete(){
        System.out.println("请输入要删除的日志id：");
        int did = sc.nextInt();
        //使用循环判断当前你要删除的日志是否存在
        for(int i = 0; i < dailys.size(); i++){
            if(did == dailys.get(i).getDid()){
                dailys.remove(i);
            }
        }
    }

    //提交日志(获取登录的学生的id进行日志绑定)
    public void submit(){
        System.out.println("请输入要提交的日志内容：");
        String content = sc.next();
        System.out.println("请输入要提交的掌握程度：");
        String level = sc.next();
        System.out.println("请输入要提交的问题：");
        String question = sc.next();
        //去集合中查询最后一个日志的id是多少然后赋值给新的did
        //dailys.size():获取集合的长度  dailys.size() - 1 :最后一个日志的下标
        //dailys.get(dailys.size() - 1):这是获取到最后一篇日志的所有信息也就是日志对象
        //dailys.get(dailys.size() - 1).getDid():获取到最后一篇日志的id
        //下一篇日志的id
        int did = dailys.get(dailys.size() - 1).getDid() + 1;
        System.out.println("请输入学号：");
        int sid = sc.nextInt();
        Daily daily = new Daily(did, content, level, question, sid);
        dailys.add(daily);
    }

    //学生退出登录

}
